package com.iwop.moto.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class SPartnetAwardInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public SPartnetAwardInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSidIsNull() {
            addCriterion("sid is null");
            return (Criteria) this;
        }

        public Criteria andSidIsNotNull() {
            addCriterion("sid is not null");
            return (Criteria) this;
        }

        public Criteria andSidEqualTo(Integer value) {
            addCriterion("sid =", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotEqualTo(Integer value) {
            addCriterion("sid <>", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidGreaterThan(Integer value) {
            addCriterion("sid >", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidGreaterThanOrEqualTo(Integer value) {
            addCriterion("sid >=", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLessThan(Integer value) {
            addCriterion("sid <", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLessThanOrEqualTo(Integer value) {
            addCriterion("sid <=", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidIn(List<Integer> values) {
            addCriterion("sid in", values, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotIn(List<Integer> values) {
            addCriterion("sid not in", values, "sid");
            return (Criteria) this;
        }

        public Criteria andSidBetween(Integer value1, Integer value2) {
            addCriterion("sid between", value1, value2, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotBetween(Integer value1, Integer value2) {
            addCriterion("sid not between", value1, value2, "sid");
            return (Criteria) this;
        }

        public Criteria andReckonTimeIsNull() {
            addCriterion("reckon_time is null");
            return (Criteria) this;
        }

        public Criteria andReckonTimeIsNotNull() {
            addCriterion("reckon_time is not null");
            return (Criteria) this;
        }

        public Criteria andReckonTimeEqualTo(Date value) {
            addCriterion("reckon_time =", value, "reckonTime");
            return (Criteria) this;
        }

        public Criteria andReckonTimeNotEqualTo(Date value) {
            addCriterion("reckon_time <>", value, "reckonTime");
            return (Criteria) this;
        }

        public Criteria andReckonTimeGreaterThan(Date value) {
            addCriterion("reckon_time >", value, "reckonTime");
            return (Criteria) this;
        }

        public Criteria andReckonTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("reckon_time >=", value, "reckonTime");
            return (Criteria) this;
        }

        public Criteria andReckonTimeLessThan(Date value) {
            addCriterion("reckon_time <", value, "reckonTime");
            return (Criteria) this;
        }

        public Criteria andReckonTimeLessThanOrEqualTo(Date value) {
            addCriterion("reckon_time <=", value, "reckonTime");
            return (Criteria) this;
        }

        public Criteria andReckonTimeIn(List<Date> values) {
            addCriterion("reckon_time in", values, "reckonTime");
            return (Criteria) this;
        }

        public Criteria andReckonTimeNotIn(List<Date> values) {
            addCriterion("reckon_time not in", values, "reckonTime");
            return (Criteria) this;
        }

        public Criteria andReckonTimeBetween(Date value1, Date value2) {
            addCriterion("reckon_time between", value1, value2, "reckonTime");
            return (Criteria) this;
        }

        public Criteria andReckonTimeNotBetween(Date value1, Date value2) {
            addCriterion("reckon_time not between", value1, value2, "reckonTime");
            return (Criteria) this;
        }

        public Criteria andPartnerNameIsNull() {
            addCriterion("partner_name is null");
            return (Criteria) this;
        }

        public Criteria andPartnerNameIsNotNull() {
            addCriterion("partner_name is not null");
            return (Criteria) this;
        }

        public Criteria andPartnerNameEqualTo(String value) {
            addCriterion("partner_name =", value, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerNameNotEqualTo(String value) {
            addCriterion("partner_name <>", value, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerNameGreaterThan(String value) {
            addCriterion("partner_name >", value, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerNameGreaterThanOrEqualTo(String value) {
            addCriterion("partner_name >=", value, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerNameLessThan(String value) {
            addCriterion("partner_name <", value, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerNameLessThanOrEqualTo(String value) {
            addCriterion("partner_name <=", value, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerNameLike(String value) {
            addCriterion("partner_name like", value, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerNameNotLike(String value) {
            addCriterion("partner_name not like", value, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerNameIn(List<String> values) {
            addCriterion("partner_name in", values, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerNameNotIn(List<String> values) {
            addCriterion("partner_name not in", values, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerNameBetween(String value1, String value2) {
            addCriterion("partner_name between", value1, value2, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerNameNotBetween(String value1, String value2) {
            addCriterion("partner_name not between", value1, value2, "partnerName");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyIsNull() {
            addCriterion("partner_shop_trade_money is null");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyIsNotNull() {
            addCriterion("partner_shop_trade_money is not null");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyEqualTo(Double value) {
            addCriterion("partner_shop_trade_money =", value, "partnerShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyNotEqualTo(Double value) {
            addCriterion("partner_shop_trade_money <>", value, "partnerShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyGreaterThan(Double value) {
            addCriterion("partner_shop_trade_money >", value, "partnerShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("partner_shop_trade_money >=", value, "partnerShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyLessThan(Double value) {
            addCriterion("partner_shop_trade_money <", value, "partnerShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyLessThanOrEqualTo(Double value) {
            addCriterion("partner_shop_trade_money <=", value, "partnerShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyIn(List<Double> values) {
            addCriterion("partner_shop_trade_money in", values, "partnerShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyNotIn(List<Double> values) {
            addCriterion("partner_shop_trade_money not in", values, "partnerShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyBetween(Double value1, Double value2) {
            addCriterion("partner_shop_trade_money between", value1, value2, "partnerShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerShopTradeMoneyNotBetween(Double value1, Double value2) {
            addCriterion("partner_shop_trade_money not between", value1, value2, "partnerShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountIsNull() {
            addCriterion("partner_relation_shop_amount is null");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountIsNotNull() {
            addCriterion("partner_relation_shop_amount is not null");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountEqualTo(Integer value) {
            addCriterion("partner_relation_shop_amount =", value, "partnerRelationShopAmount");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountNotEqualTo(Integer value) {
            addCriterion("partner_relation_shop_amount <>", value, "partnerRelationShopAmount");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountGreaterThan(Integer value) {
            addCriterion("partner_relation_shop_amount >", value, "partnerRelationShopAmount");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountGreaterThanOrEqualTo(Integer value) {
            addCriterion("partner_relation_shop_amount >=", value, "partnerRelationShopAmount");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountLessThan(Integer value) {
            addCriterion("partner_relation_shop_amount <", value, "partnerRelationShopAmount");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountLessThanOrEqualTo(Integer value) {
            addCriterion("partner_relation_shop_amount <=", value, "partnerRelationShopAmount");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountIn(List<Integer> values) {
            addCriterion("partner_relation_shop_amount in", values, "partnerRelationShopAmount");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountNotIn(List<Integer> values) {
            addCriterion("partner_relation_shop_amount not in", values, "partnerRelationShopAmount");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountBetween(Integer value1, Integer value2) {
            addCriterion("partner_relation_shop_amount between", value1, value2, "partnerRelationShopAmount");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopAmountNotBetween(Integer value1, Integer value2) {
            addCriterion("partner_relation_shop_amount not between", value1, value2, "partnerRelationShopAmount");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyIsNull() {
            addCriterion("partner_relation_shop_trade_money is null");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyIsNotNull() {
            addCriterion("partner_relation_shop_trade_money is not null");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyEqualTo(Double value) {
            addCriterion("partner_relation_shop_trade_money =", value, "partnerRelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyNotEqualTo(Double value) {
            addCriterion("partner_relation_shop_trade_money <>", value, "partnerRelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyGreaterThan(Double value) {
            addCriterion("partner_relation_shop_trade_money >", value, "partnerRelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("partner_relation_shop_trade_money >=", value, "partnerRelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyLessThan(Double value) {
            addCriterion("partner_relation_shop_trade_money <", value, "partnerRelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyLessThanOrEqualTo(Double value) {
            addCriterion("partner_relation_shop_trade_money <=", value, "partnerRelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyIn(List<Double> values) {
            addCriterion("partner_relation_shop_trade_money in", values, "partnerRelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyNotIn(List<Double> values) {
            addCriterion("partner_relation_shop_trade_money not in", values, "partnerRelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyBetween(Double value1, Double value2) {
            addCriterion("partner_relation_shop_trade_money between", value1, value2, "partnerRelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerRelationShopTradeMoneyNotBetween(Double value1, Double value2) {
            addCriterion("partner_relation_shop_trade_money not between", value1, value2, "partnerRelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyIsNull() {
            addCriterion("partner_unrelation_shop_trade_money is null");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyIsNotNull() {
            addCriterion("partner_unrelation_shop_trade_money is not null");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyEqualTo(Double value) {
            addCriterion("partner_unrelation_shop_trade_money =", value, "partnerUnrelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyNotEqualTo(Double value) {
            addCriterion("partner_unrelation_shop_trade_money <>", value, "partnerUnrelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyGreaterThan(Double value) {
            addCriterion("partner_unrelation_shop_trade_money >", value, "partnerUnrelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("partner_unrelation_shop_trade_money >=", value, "partnerUnrelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyLessThan(Double value) {
            addCriterion("partner_unrelation_shop_trade_money <", value, "partnerUnrelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyLessThanOrEqualTo(Double value) {
            addCriterion("partner_unrelation_shop_trade_money <=", value, "partnerUnrelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyIn(List<Double> values) {
            addCriterion("partner_unrelation_shop_trade_money in", values, "partnerUnrelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyNotIn(List<Double> values) {
            addCriterion("partner_unrelation_shop_trade_money not in", values, "partnerUnrelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyBetween(Double value1, Double value2) {
            addCriterion("partner_unrelation_shop_trade_money between", value1, value2, "partnerUnrelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerUnrelationShopTradeMoneyNotBetween(Double value1, Double value2) {
            addCriterion("partner_unrelation_shop_trade_money not between", value1, value2, "partnerUnrelationShopTradeMoney");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardIsNull() {
            addCriterion("partner_reward is null");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardIsNotNull() {
            addCriterion("partner_reward is not null");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardEqualTo(Double value) {
            addCriterion("partner_reward =", value, "partnerReward");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardNotEqualTo(Double value) {
            addCriterion("partner_reward <>", value, "partnerReward");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardGreaterThan(Double value) {
            addCriterion("partner_reward >", value, "partnerReward");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardGreaterThanOrEqualTo(Double value) {
            addCriterion("partner_reward >=", value, "partnerReward");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardLessThan(Double value) {
            addCriterion("partner_reward <", value, "partnerReward");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardLessThanOrEqualTo(Double value) {
            addCriterion("partner_reward <=", value, "partnerReward");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardIn(List<Double> values) {
            addCriterion("partner_reward in", values, "partnerReward");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardNotIn(List<Double> values) {
            addCriterion("partner_reward not in", values, "partnerReward");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardBetween(Double value1, Double value2) {
            addCriterion("partner_reward between", value1, value2, "partnerReward");
            return (Criteria) this;
        }

        public Criteria andPartnerRewardNotBetween(Double value1, Double value2) {
            addCriterion("partner_reward not between", value1, value2, "partnerReward");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusIsNull() {
            addCriterion("receive_status is null");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusIsNotNull() {
            addCriterion("receive_status is not null");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusEqualTo(Integer value) {
            addCriterion("receive_status =", value, "receiveStatus");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusNotEqualTo(Integer value) {
            addCriterion("receive_status <>", value, "receiveStatus");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusGreaterThan(Integer value) {
            addCriterion("receive_status >", value, "receiveStatus");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("receive_status >=", value, "receiveStatus");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusLessThan(Integer value) {
            addCriterion("receive_status <", value, "receiveStatus");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusLessThanOrEqualTo(Integer value) {
            addCriterion("receive_status <=", value, "receiveStatus");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusIn(List<Integer> values) {
            addCriterion("receive_status in", values, "receiveStatus");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusNotIn(List<Integer> values) {
            addCriterion("receive_status not in", values, "receiveStatus");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusBetween(Integer value1, Integer value2) {
            addCriterion("receive_status between", value1, value2, "receiveStatus");
            return (Criteria) this;
        }

        public Criteria andReceiveStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("receive_status not between", value1, value2, "receiveStatus");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeIsNull() {
            addCriterion("receive_time is null");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeIsNotNull() {
            addCriterion("receive_time is not null");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeEqualTo(Date value) {
            addCriterion("receive_time =", value, "receiveTime");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeNotEqualTo(Date value) {
            addCriterion("receive_time <>", value, "receiveTime");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeGreaterThan(Date value) {
            addCriterion("receive_time >", value, "receiveTime");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("receive_time >=", value, "receiveTime");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeLessThan(Date value) {
            addCriterion("receive_time <", value, "receiveTime");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeLessThanOrEqualTo(Date value) {
            addCriterion("receive_time <=", value, "receiveTime");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeIn(List<Date> values) {
            addCriterion("receive_time in", values, "receiveTime");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeNotIn(List<Date> values) {
            addCriterion("receive_time not in", values, "receiveTime");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeBetween(Date value1, Date value2) {
            addCriterion("receive_time between", value1, value2, "receiveTime");
            return (Criteria) this;
        }

        public Criteria andReceiveTimeNotBetween(Date value1, Date value2) {
            addCriterion("receive_time not between", value1, value2, "receiveTime");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}